Chris Pollett > Old Classes >
CS158a

( Print View )

Student Corner:
  [Grades Sec2]

  [Submit Sec2]

  [Class Sign Up Sec2]

  [
Lecture Notes]
  [Discussion Board]

Course Info:
  [Texts & Links]
  [Topics/Outcomes]
  [Outcomes Matrix]
  [Grading]
  [HW/Quiz Info]
  [Exam Info]
  [Regrades]
  [Honesty]
  [Additional Policies]
  [Announcements]

HW Assignments:
  [Hw1]  [Hw2]  [Hw3]
  [Hw4]  [Hw5]  [Quizzes]

Practice Exams:
  [Mid]  [Final]

                           












HW#4 --- last modified February 28 2019 22:23:14..

Solution set.

Due date: Apr 29

Files to be submitted:
  Hw4.zip

Purpose: To get experience with subnetting. To experiment with more network tools, in particular Wireshark.

Related Course Outcomes:

The main course outcomes covered by this assignment are:

LO6 -- Understand network protocols, RIP and OSPF, and the details of IPv4.

LO7 -- Develop a software simulator simulating RIP, OSPF, forwarding and subnetting in IPv4.

LO9 -- Use networking tools including telnet, ping, traceroute, bing, and Ethereal to evaluate simple network characteristics.

Specification:

This HW was originally due Apr. 29, it was extended to Apr. 30 so that the last of the material in it could be covered. As usual, there are two parts of this homework: the book problems and a coding/experiment part. Submit the book problems within your ZIP in the file Hw4.pdf. Make sure to list each group member's name and student ID! The book problems you should do are: Ch4. 21, 24 31, 66; Ch 5. 3, 4, 9.

For the coding part of the assignment I want you to first write a short program to handle subnet forwarding, Subnet.java. This program reads in a file with lines like:

Subnet Address, Mask, Port

For example,

12.128.0.0, 255.128.0.0, 1
15.0.0.0, 255.0.0.0, 2

In the above whitespace is ignored, except that newline is used to indicated the end of a line. Your program will be run from the command line with a command like:

java Subnet filename

After reading in the file, your program will prompt the user:

Please enter an IP address to forward:

After entering an address your program should print the port to forward out on or "default" if there is no match. After printing your program should end.

For the experiment part of the homework, I would like you to download and run Wireshark. I want you to get Wireshark to start capture packets. I then want you to open a web browser (make sure you are capturing on the correct interface!) and go to Google. Stop capturing after the Google page is done downloading. Look at the capture and take screenshots (compress the images!) of the relevant frames, IP packets involved in open a TCP connection to Google. Do the same thing for the actual receiving of data. Point out sequence numbers and ACKs. Finally, do the same thing for connection teardown. Make a little web page, OurWiresharkExperiments.html with these images in it and with a write-up of what's going on.

Point Breakdown

Book problems (1/2 pt each) 4pts
Coding guidelines followed for Subnet.java 1pt
Subnet.java works as described 2pts
OurWiresharkExperiments.html as described (1pt for write-up and images of each phase of TCP connection to Google) 3pts
Total10pts